﻿@using MvcFront.Models
@using Telerik.Web.Mvc.UI
@model MvcFront.Models.DocReportEditModel

@{
    ViewBag.Title = "Изменение отчета";
}

<h2>Отчет</h2>
@using (Html.BeginForm())
{
    @Html.ValidationSummary(true)
    <fieldset>
        @Html.EditorForModel()
     
    </fieldset>
<p>
    <input type="submit" value="Сохранить"/>
    @Html.ActionLink("Отмена", "Index")
    <a href="#" onclick="ShowEditTagWindow()">Редактировать метки</a>
</p>
}
 @(Html.Telerik().Window()
    .Name("EditUserTagWindow")
    .Visible(false)
    .Title("Редактировать метки")
    .Modal(true)
    .Width(800)
    .Content( 
        @<text>           
<div class="display-label">Метки Отчета</div>

    <a href="#" onclick="ShowAddTagWindow()">Добавить метку</a>
    @(Html.Telerik().Grid<UserTagsListViewModel>()
        .DataBinding(dataBinding => dataBinding.Ajax().Select("_UserTagList", "DocReportEdit", new { docReportId = Model.DocReportId }))
            .Name("UserTagsListGrid")
            .ClientEvents(events => events.OnComplete("onComplete"))
            .Columns(columns =>
                        {
                            columns.AutoGenerate(column =>
                                                        {
                                                            column.Width = "150px";
                                                            if (column.Member == "Status" || column.Member == "UserTagNameId")
                                                                column.Visible = false;
                                                        });
                            columns.Command(command => command.Custom("DeleteTag")
                                                            .Text("Удалить метку")
                                                            .DataRouteValues(route => route.Add(o => o.UserTagNameId).RouteKey("tagId"))
                                                            .Ajax(true)
                                                            .Action("RemoveUserTag", "DocReportEdit")
                                                            .HtmlAttributes(new { style = "text-align: center" })).Width(40);
                        })
          ) 
          </text>)
          )
     @(Html.Telerik().Window()
    .Name("AddUserTagWindow")
    .Visible(false)
    .Title("Добавить метку")
    .Modal(true)
    .Width(400)
    .Height(100)
    .Content( 
        @<text>                
            @Html.Editor("addingUserTag", "UserTagFilter")
            <div style="text-align: center;" >
                <input type="button" value="Добавить" onclick="SendRequest()"/> 
            </div>
        </text>)
          )

<script type="text/javascript">
    function onComplete(e) {
        if (e.name == "DeleteTag") {
            if (e.response.result) {
                // alert("Метка удалена");
            } else {
                alert("Произошла ошибка при удалении метки!");
            }
            var grid = $('#UserTagsListGrid').data("tGrid");
            if (grid != null) {
                grid.rebind();
            }
        }

    }
    function ShowEditTagWindow() {
        var addWindow = $("#EditUserTagWindow").data("tWindow");
        addWindow.center().open();
    }
    function ShowAddTagWindow() {
        var addWindow = $("#AddUserTagWindow").data("tWindow");
        addWindow.center().open();
    }
    function SendRequest() {
        var tagId = $("#addingUserTag").data('tComboBox').value();
        if(isNaN( parseInt( tagId ) ))
        {alert("Необходимо выбрать метку!"); return;}
        $.ajax({
            type: "POST",
            url: "../AddUserTag",
            data: "docreportId="+ @Model.DocReportId +"&tagId="+tagId,
            success: function () {
                var grid = $('#UserTagsListGrid').data("tGrid");
                if (grid != null) {
                    grid.rebind();
                }
                var addWindow = $("#AddUserTagWindow").data("tWindow");
                addWindow.center().close();
            }
        });
    }
</script>
    